home *** CD-ROM | disk | FTP | other *** search
-
-
-
- iiiillllSSSSppppaaaattttiiiiaaaallllIIIImmmmgggg((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllSSSSppppaaaattttiiiiaaaallllIIIImmmmgggg((((3333))))
-
-
-
- NNNNAAAAMMMMEEEE
- iiiillllSSSSppppaaaattttiiiiaaaallllIIIImmmmgggg - Base class for spatial operator images
-
- IIIINNNNHHHHEEEERRRRIIIITTTTSSSS FFFFRRRROOOOMMMM
- ilLink : ilImage : ilCacheImg : ilMemCacheImg : ilOpImg
-
- HHHHEEEEAAAADDDDEEEERRRR FFFFIIIILLLLEEEE
- #include <il/ilCdefs.h>
-
- CCCCLLLLAAAASSSSSSSS DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- ilSpatialImg is the base class for spatial operator images. ilSpatialImg
- has a pure virtual member function and thus cannot be created as an
- object. It is intended to be used to derive spatial operator images.
- However, a pointer to an ilSpatialImg can be declared.
-
- ilSpatialImg handles the messy details of allocating a working buffer and
- reading input data based on the size of the kernel being used and the
- current edge mode. The edge mode specifies how to handle pixels along the
- edge of a page. For example, additional input data can be used to compute
- a full page. In this case, the amount of additional input data read
- depends on the size of the kernel being used.
-
- UUUUssssiiiinnnngggg iiiillllSSSSppppaaaattttiiiiaaaallllIIIImmmmgggg
- Spatial operators compute a result based on a local neighborhood of
- pixels. The size of the kernel being used determines the size of the
- neighborhood. Therefore, the size of the kernel must be known to compute
- the size of the working buffer.
-
- The edge mode determines how pixels along the edge of the image are
- handled. By default, additional input data is read to allow pixels along
- the edge to be computed. Several edge modes are supported such as
- _i_l_P_a_d_S_r_c, _i_l_P_a_d_D_s_t, _i_l_N_o_P_a_d, _i_l_W_r_a_p and _i_l_R_e_f_l_e_c_t.
-
- For more details see iiiillllSSSSppppaaaattttiiiiaaaallllIIIImmmmggggSSSSeeeettttEEEEddddggggeeeeMMMMooooddddeeee().
-
- In addition, an offset table, _k_e_r_n_O_f_f, and a value table, _k_e_r_n_V_a_l, are
- built based on the input kernel specified. The offset table contains
- offsets into the input buffer to access data corresponding to nonzero
- kernel elements. The value table contains the nonzero kernel elements
- and corresponds to the offset table. These tables are provided for
- convenience to derived classes that choose to use them.
-
-
- CCCCLLLLAAAASSSSSSSS MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN SSSSUUUUMMMMMMMMAAAARRRRYYYY
- SSSSeeeettttttttiiiinnnngggg ssssppppaaaattttiiiiaaaallll ooooppppeeeerrrraaaattttoooorrrr ppppaaaarrrraaaammmmeeeetttteeeerrrrssss
-
- void ilSpatialImgSetDynamicKernel(ilSpatialImg* img, ilKernel* kernel)
- void ilSpatialImgSetEdgeMode(ilSpatialImg* img, ilEdgeMode eMode)
- void ilSpatialImgSetKernel(ilSpatialImg* img, ilKernel* kern)
- void ilSpatialImgSetKernelSize(ilSpatialImg* img, int x, int y, int z)
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- iiiillllSSSSppppaaaattttiiiiaaaallllIIIImmmmgggg((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllSSSSppppaaaattttiiiiaaaallllIIIImmmmgggg((((3333))))
-
-
-
- QQQQuuuueeeerrrryyyyiiiinnnngggg ssssppppaaaattttiiiiaaaallll ooooppppeeeerrrraaaattttoooorrrr ppppaaaarrrraaaammmmeeeetttteeeerrrrssss
-
- ilEdgeMode ilSpatialImgGetEdgeMode(ilSpatialImg *img)
- ilKernel* ilSpatialImgGetKernel(ilSpatialImg* img)
- void ilSpatialImgGetKernelSize3D(ilSpatialImg *img, int *x, int *y,
- int *z)
- void ilSpatialImgGetKernelSize(ilSpatialImg *img, int *x, int *y)
-
-
- FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNN DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNNSSSS
- ggggeeeettttEEEEddddggggeeeeMMMMooooddddeeee(((())))
-
- ilEdgeMode ilSpatialImgGetEdgeMode(ilSpatialImg *img)
-
-
- Returns the current edge mode as the enumerated type ilEdgeMode. See
- also iiiillllSSSSppppaaaattttiiiiaaaallllIIIImmmmggggSSSSeeeettttEEEEddddggggeeeeMMMMooooddddeeee().
-
- ggggeeeettttKKKKeeeerrrrnnnneeeellll(((())))
-
- ilKernel *ilSpatialImgGetKernel(ilSpatialImg *obj)
-
-
- This function returns the current input kernel value.
-
- ggggeeeettttKKKKeeeerrrrnnnneeeellllSSSSiiiizzzzeeee(((())))
-
- void ilSpatialImgGetKernelSize(ilSpatialImg *img, int *x, int *y)
- void ilSpatialImgGetKernelSize3D(ilSpatialImg *img, int *x, int *y, int *z)
-
-
- This function is overloaded to conveniently handle the 2D case. It
- returns the current kernel size in _x, _y, and optionally, _z. See also
- iiiillllSSSSppppaaaattttiiiiaaaallllIIIImmmmggggSSSSeeeettttKKKKeeeerrrrnnnneeeellllSSSSiiiizzzzeeee().
-
- sssseeeettttDDDDyyyynnnnaaaammmmiiiiccccKKKKeeeerrrrnnnneeeellll(((())))
-
- void ilSpatialImgSetDynamicKernel(ilKernel* kern)
-
-
- This functions sets this objects input kernel to the ilKernel
- pointed to by _k_e_r_n. This function differs from iiiillllSSSSppppaaaattttiiiiaaaallllIIIImmmmggggSSSSeeeettttKKKKeeeerrrrnnnneeeellll
- in that this ilSpatialImg object will watch for changes to the input
- kernel.
-
- sssseeeettttEEEEddddggggeeeeMMMMooooddddeeee(((())))
-
- void ilSpatialImgSetEdgeMode(ilSpatialImg *img, ilEdgeMode eMode)
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- iiiillllSSSSppppaaaattttiiiiaaaallllIIIImmmmgggg((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllSSSSppppaaaattttiiiiaaaallllIIIImmmmgggg((((3333))))
-
-
-
- This function sets the edge mode to the enumerated type _i_l_E_d_g_e_M_o_d_e
- specified by _e_M_o_d_e. The edge mode specifies how to handle pixels
- along the edge of the image. Spatial operators process a
- neighborhood of input pixels defined by the kernel. Therefore,
- output pixels within half the kernel size along the edge of the
- image, do not have enough input data to be computed. This situation
- can be handled in many ways as specified by the edge mode. Several
- edge modes are supported such as: _i_l_P_a_d_S_r_c, _i_l_P_a_d_D_s_t, _i_l_N_o_P_a_d,
- _i_l_W_r_a_p and _i_l_R_e_f_l_e_c_t. The default edge mode is _i_l_P_a_d_S_r_c.
-
- For _i_l_P_a_d_S_r_c (pad source), extra input data is read, which allows
- pixels near the edge to be processed. The amount of extra data read
- depends on the kernel size in each dimension. The requested input
- data is filled as needed near the edge of the image, with the
- current _f_i_l_l_V_a_l_u_e.
-
- For _i_l_P_a_d_D_s_t (pad destination), the border along the edge of the
- image is filled with its _f_i_l_l_V_a_l_u_e. This is done because the
- resultant image is smaller than the input image by the kernel size
- in each dimension.
-
- For _i_l_N_o_P_a_d (no pad), nothing is done about the borders and the
- resulting image is reduced in size by the size of the kernel in each
- dimension causing a shift toward the origin.
-
- For _i_l_W_r_a_p, data from the opposite edge in the source image is used
- to fill in missing data along the edges. The amount of data wrapped
- depends on the size of the kernel in each dimension.
-
- For _i_l_R_e_f_l_e_c_t, data near an edge is reflected and used to fill in
- missing data along the edges. The amount of data reflected depends
- on the size of the kernel in each dimension.
-
- sssseeeettttKKKKeeeerrrrnnnneeeellll(((())))
-
- void ilSpatialImgSetKernel(ilSpatialImg *img, ilKernel *kern)
-
-
- This function sets the input kernel to the ilKernel pointed to by
- _k_e_r_n. The default value is NULL. This function calls
- iiiillllSSSSppppaaaattttiiiiaaaallllIIIImmmmggggSSSSeeeettttKKKKeeeerrrrnnnneeeellllSSSSiiiizzzzeeee() to update the size of the kernel.
-
- sssseeeettttKKKKeeeerrrrnnnneeeellllSSSSiiiizzzzeeee(((())))
-
- void ilSpatialImgSetKernelSize(ilSpatialImg *img, int x, int y, int z)
-
-
- The x, y and z size of the kernel are set to _x, _y and _z. This
- function also sets the minimum page size based on the size of the
- kernel. It is set to a multiple of the kernel size to enhance
- efficiency. iiiillllSSSSppppaaaattttiiiiaaaallllIIIImmmmggggSSSSeeeettttKKKKeeeerrrrnnnneeeellllSSSSiiiizzzzeeee()
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-
-
-
- iiiillllSSSSppppaaaattttiiiiaaaallllIIIImmmmgggg((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllSSSSppppaaaattttiiiiaaaallllIIIImmmmgggg((((3333))))
-
-
-
- IIIINNNNHHHHEEEERRRRIIIITTTTEEEEDDDD MMMMEEEEMMMMBBBBEEEERRRR FFFFUUUUNNNNCCCCTTTTIIIIOOOONNNNSSSS
- IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllOOOOppppIIIImmmmgggg
- ilOpImgClearClamp(), ilOpImgGetBias(), ilOpImgGetClamp(),
- ilOpImgGetValidOrders(), ilOpImgGetValidTypes(), ilOpImgIsClamped(),
- ilOpImgIsPrecisionKept(), ilOpImgKeepPrecision(), ilOpImgSetBias(),
- ilOpImgSetClampMinMax(), ilOpImgSetClamp()
-
- IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllMMMMeeeemmmmCCCCaaaacccchhhheeeeIIIImmmmgggg
- ilMemCacheImgEnableMP(), ilMemCacheImgGetPageTime(),
- ilMemCacheImgGetRetainMode(), ilMemCacheImgGetThrashMode(),
- ilMemCacheImgGetThrashTime(), ilMemCacheImgGetTotalPageTime(),
- ilMemCacheImgIsMPenabled(), ilMemCacheImgSetRetainMode(),
- ilMemCacheImgSetThrashMode()
-
- IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllCCCCaaaacccchhhheeeeIIIImmmmgggg
- ilCacheImgFlush(), ilCacheImgGetCacheSize()
-
- IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllIIIImmmmaaaaggggeeee
- ilAddInput(), ilAllocFillData(), ilClipTile(), ilClipTileAsTile(),
- ilClipTileFloat(), ilClipTileFloatAsTile(),
- ilConfigureRetainedCacheImage(), ilCopy(), ilCopyTile(), ilCopyTile3D(),
- ilCopyTileCfg(), ilFillTile(), ilFillTile3D(), ilFillTileRGB(),
- ilFreeFillData(), ilGetColorImg(), ilGetColorModel(), ilGetColormap(),
- ilGetColormapPtr(), ilGetCompression(), ilGetConfig(), ilGetCsize(),
- ilGetDataType(), ilGetDimensions(), ilGetDirectInput(),
- ilGetDisplayCacheEnable(), ilGetFill(), ilGetFillData(),
- ilGetFillValue(), ilGetHeight(), ilGetHwEnable(), ilGetHwHint(),
- ilGetHwHintName(), ilGetHwIntHint(), ilGetHwIntHintName(), ilGetInput(),
- ilGetInputTileRequirement(), ilGetLockTileSet(), ilGetMappedPageSize(),
- ilGetMappedSize(), ilGetMaxColormapLevels(), ilGetMaxValue(),
- ilGetMinValue(), ilGetNumChans(), ilGetNumInputs(), ilGetOrder(),
- ilGetOrientation(), ilGetPageBorder(), ilGetPageBorderPtr(),
- ilGetPageBorderX(), ilGetPageBorderY(), ilGetPageBorderZ(),
- ilGetPageCounts(), ilGetPageDelta(), ilGetPageDeltaStruct(),
- ilGetPageDimensions(), ilGetPageIndices(), ilGetPageOrigin(),
- ilGetPageOriginC(), ilGetPageOriginStruct(), ilGetPageOriginX(),
- ilGetPageOriginY(), ilGetPageOriginZ(), ilGetPageSize(),
- ilGetPageSizeBytes(), ilGetPageSizeC(), ilGetPageSizePix(),
- ilGetPageSizeStruct(), ilGetPageSizeVal(), ilGetPageSizeX(),
- ilGetPageSizeXY(), ilGetPageSizeY(), ilGetPageSizeZ(), ilGetPixel(),
- ilGetPixel3D(), ilGetPriority(), ilGetScaleMax(), ilGetScaleMin(),
- ilGetSize(), ilGetSizePtr(), ilGetStrides(), ilGetSubTile(),
- ilGetSubTile3D(), ilGetTile(), ilGetTile3D(), ilGetWidth(), ilGetXsize(),
- ilGetYsize(), ilGetZsize(), ilHasPageBorder(), ilHasPages(),
- ilInitScaleMinMax(), ilIsColorImg(), ilIsIntegral(),
- ilIsMirrorOrientation(), ilIsSigned(), ilIsWritable(), ilLockPage(),
- ilLockPageSet(), ilLockTile(), ilLockTile3D(), ilMapFlipTrans(),
- ilMapFromInput(), ilMapFromInput2D(), ilMapFromInput3D(),
- ilMapFromSource(), ilMapFromSource2D(), ilMapFromSource3D(),
- ilMapOrientation(), ilMapSize(), ilMapTile(), ilMapTileFlipTrans(),
- ilMapTileFloat(), ilMapToInput(), ilMapToInput2D(), ilMapToInput3D(),
- ilMapToSource(), ilMapToSource2D(), ilMapToSource3D(), ilMapXY(),
-
-
-
- PPPPaaaaggggeeee 4444
-
-
-
-
-
-
- iiiillllSSSSppppaaaattttiiiiaaaallllIIIImmmmgggg((((3333)))) IIIImmmmaaaaggggeeeeVVVViiiissssiiiioooonnnn LLLLiiiibbbbrrrraaaarrrryyyy CCCC++++++++ RRRReeeeffffeeeerrrreeeennnncccceeee MMMMaaaannnnuuuuaaaallll iiiillllSSSSppppaaaattttiiiiaaaallllIIIImmmmgggg((((3333))))
-
-
-
- ilMapXYFloat(), ilMapXYSign(), ilQCopyTileCfg(), ilQFillTile3D(),
- ilQFillTileRGB(), ilQGetSubTile3D(), ilQGetTile3D(), ilQLockPageSet(),
- ilQSetSubTile3D(), ilQSetTile3D(), ilRemoveHwHint(),
- ilRemoveHwHintName(), ilRemoveInput(), ilSetColorModel(),
- ilSetColormap(), ilSetCompression(), ilSetCsize(), ilSetDataType(),
- ilSetDisplayCacheEnable(), ilSetFill(), ilSetFillValue(),
- ilSetHwEnable(), ilSetHwHint(), ilSetHwIntHint(), ilSetHwIntHintName(),
- ilSetInput(), ilSetMaxColormapLevels(), ilSetMaxValue(), ilSetMinValue(),
- ilSetNumChans(), ilSetOrder(), ilSetOrientation(), ilSetPageBorder(),
- ilSetPageBorderStruct(), ilSetPageSize(), ilSetPageSizeC(),
- ilSetPageSizeStruct(), ilSetPageSizeXY(), ilSetPageSizeZ(), ilSetPixel(),
- ilSetPixel3D(), ilSetPriority(), ilSetScaleMinMax(), ilSetScaleType(),
- ilSetSize(), ilSetSubTile(), ilSetSubTile3D(), ilSetTile(),
- ilSetTile3D(), ilSetXYsize(), ilSetXsize(), ilSetYsize(), ilSetZsize(),
- ilUnlockPage(), ilUnlockPageSet()
-
- IIIInnnnhhhheeeerrrriiiitttteeeedddd ffffrrrroooommmm iiiillllLLLLiiiinnnnkkkk
- ilLinkClearSet(), ilLinkClearStatus(), ilLinkGetDescription(),
- ilLinkGetDirectParent(), ilLinkGetDisabledIndex(), ilLinkGetFloatProp(),
- ilLinkGetGenerationID(), ilLinkGetIntProp(), ilLinkGetNumChildren(),
- ilLinkGetNumParents(), ilLinkGetParent(), ilLinkGetPtrProp(),
- ilLinkGetRelatedChild(), ilLinkGetRelatedDelete(),
- ilLinkGetRelatedType(), ilLinkGetStatus(), ilLinkIsAllowed(),
- ilLinkIsAltered(), ilLinkIsEnabled(), ilLinkIsRelated(), ilLinkIsSet(),
- ilLinkRemoveParent(), ilLinkRemoveProp(), ilLinkSetDescription(),
- ilLinkSetDisabledIndex(), ilLinkSetEnabled(), ilLinkSetParent(),
- ilLinkSetProp(), ilLinkSetRelatedDelete(), ilLinkSetRelatedType()
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- ilImage, ilCache, ilOpImg
-
- NNNNOOOOTTTTEEEESSSS
- If _w_T_y_p_e is different from _d_t_y_p_e, then the derived class must convert the
- data type between the input buffer and the output buffer.
-
- Note that an even-sized kernel causes a half-pixel shift away from the
- origin because the center of the kernel is _b_e_t_w_e_e_n the center elements.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 5555
-
-
-
-